1. Technical Field
The present invention relates generally to an improved system bus topology and, in particular, to a method and an apparatus for configuring a bus topology. Still more particularly, the present invention provides a method and an apparatus for detecting the type of hard drives connected to the bus and automatically configuring the bus for improved performance.
2. Description of the Related Art
In a client-server network many clients are constantly making requests that require fast responses from the server or servers. Requests typically require access to information stored in a large data repository that is spread over many hard disk drives. The performance of the hard disk drive subsystem is critical to overall client-server system performance.
The SCSI (Small Computer System Interface) expansion bus is a commonly used bus to connect a chain of disk drives to a computer system. A disk drive that connects to a chain of disk drives may have different capabilities that other disk drives in the chain. For example, for SCSI hard disks, some may use a 20 MHz mode of operation called “Ultra” while others are capable of a 40 MHz mode of operation called “Ultra Plus”. It would only take one disk drive capable of only “Ultra” performance to slow an entire chain of disk drives down from a 40 MHz bus speed to a 20 MHz bus speed.
The use of the SCSI bus and the bus protocols “Ultra” and “Ultra Plus” are for illustrative purposes only. The type of bus and the types of protocols on a particular bus may vary, but the central problem remains to automatically configure the bus system for improved performance.
In a large server facility where there are many machines each supporting multiple chains of disk drives, there is the need to accommodate changes in configurations quickly and automatically. For example, it is common to “hot swap” one disk drive for another disk drive, but it would be prohibitively wasteful for a system administrator to inspect all the other drives in the chain to verify they all use the same protocol.
Therefore, it would be advantageous to have an apparatus and a method that allows a system bus to automatically detect the type of hard disk drives connected to a system bus and to automatically reconfigure the system bus based on the type of hard disk drives to provide for improved performance.
A server machine should also support multiple disk drives on the same chain and, due to physical constraints of supporting many different chains, allow for a “long” cable to reach the first disk drive. A typical chain will contain six disk drives and the cable length may need to be longer than 3 feet. The long cable length results in signal degradation so that it is difficult to operate several disk drives without introducing bus errors. One common approach is a add “redrive” circuitry at the end of the cable to boost the signal strength, but this is relatively expensive solution.
Therefore, it would be advantageous to find a way to maintain signal quality in the presence of many disk drives on the same chain without needing to install redrive circuitry.